﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entidades;
using System.ServiceModel;

namespace ServicioEvaluacion
{
    public class Historiales: IHistoriales
    {
        #region Agregar Historial

        public bool Agregar(Historial nuevoHistorial)
        {
            bool resultado = false;

            try
            {
                LogicaDeNegocios.Historiales h = new LogicaDeNegocios.Historiales();
                resultado = h.Agregar(nuevoHistorial);
            }
            catch (Exception ex)
            {
                
                resultado = false;
            }

            return resultado;
        } 
        #endregion

        #region Modificar Historial

        public bool Modificar(Historial historialaAModificar)
        {
            bool resultado = false;

            try
            {
                LogicaDeNegocios.Historiales h = new LogicaDeNegocios.Historiales();
                resultado = h.Modificar(historialaAModificar);                
            }
            catch (Exception ex)
            {
                
                resultado = false;
            }

            return resultado;
        }
        
        #endregion

        #region Eliminar Historial

        public bool Eliminar(Historial historialAEliminar)
        {
            bool resultado = false;

            try
            {
                LogicaDeNegocios.Historiales h = new LogicaDeNegocios.Historiales();
                resultado = h.Eliminar(historialAEliminar);
            }
            catch (Exception ex)
            {
                
                resultado = false;
            }

            return resultado;


        }
        
        #endregion

        #region Obtener Historiales

        public List<Historial> ObtenerHistoriales(string examenCodigo = "", DateTime? fechaHoraInicio = null)
        {
            List<Historial> resultado = null;

            try
            {
                LogicaDeNegocios.Historiales h = new LogicaDeNegocios.Historiales();
                resultado = h.ObtenerHistoriales(examenCodigo, fechaHoraInicio);
            }
            catch (Exception ex)
            {
                resultado = null;
            }

            return resultado;
        }
        
        #endregion

        #region Obtener Historial
        public Historial ObtenerHistorial(string examenCodigo)
        { 
            Historial resultado = null;

            try
            {
                LogicaDeNegocios.Historiales h = new LogicaDeNegocios.Historiales();
                resultado = h.ObtenerHistorial(examenCodigo);
            }
            catch (Exception ex)
            {
                
                resultado = null;
            }

            return resultado;

        }


        #endregion

        #region Agregar intento en el historial

        public bool AgregarIntento(string codigoExamen)
        {
            bool resultado = false;

            try
            {
                LogicaDeNegocios.Historiales h = new LogicaDeNegocios.Historiales();
                resultado = h.Agregar(codigoExamen);
                
            }
            catch (Exception)
            {
                resultado = false;
            }

            return resultado;

            
        } 

        #endregion
    }
}
